#include<stdio.h>


void func(char src[100])// 退化成指针： char*str
{
    //printf("sizeof(src)= %d\n",sizeof(src));
    src++;
}





int main(int argc,char *argv[])
{
    int a[3] = {0} ; //局部数组
     //数组名指针常量
    
    char buffer[1024] = "hello world";
    // func(buffer);
    // printf("%c\n",buffer[1]);
    // printf("%c\n",*(buffer+1));
    
    


    int *p=a;

    int(*pa)[3]; // 整型数组指针变量： 是一个变量  保存的是地址  该地址是数组的地址 该数组是一个整型数组有三个元素

    printf("sieeof(pa) = %ld\n",sizeof(pa));
    
    pa = &a; // pa == &a    *(pa) == a 





    printf("&a[0]%p\n",&a[0]);//数组首元素的地址
    printf("%p\n", a );       //数组首元素的地址
    printf("%p\n", &a );      //&a: 数组的地址

    printf("a+1=%p\n",a+1);
    printf("&a+1=%p\n",&a+1);

    for(int i = 0 ; i < sizeof(a) / sizeof(int) ; i++)
    {
        // scanf("%d", &a[i]);
        //scanf("%d",a +i );//数组名：数组首元素的地址 
        scanf("%d",&p[i]);
        //scanf("%d",p++);
    }
    
    for(int i = 0;i<sizeof(a)/sizeof(int);i++)
    {
        // printf("a[%d] = %d\n",i,a[i]);
        // printf("a[%d] = %d\n",i,*(a+i));   //[] ==  *()
        printf("a[%d] = %d\n",i,p[i]);
    }
    return 0;
}